package com.lmy.jedis;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;

import java.util.HashSet;
import java.util.Set;

/**
 * jedis操作redis集群
 */
public class JedisCluster_ {

    public static void main(String[] args) {

        /*
            1.这里的set可以添加多个入口
            2.因为没有做日志配置，输出时会有爆红的提示，不影响使用
            3.如果使用的时集群，需要将相关端口全部打开，否则报错
            4.JedisCluster 的构造器有多种
         */
        Set<HostAndPort> set = new HashSet<>();
        set.add(new HostAndPort("192.168.45.128", 6379));

        //定义jedis连接池配置
        JedisPoolConfig config = new JedisPoolConfig();
        config .setMaxTotal(500);
        config .setMinIdle(2);
        config .setMaxIdle(500);
        config .setMaxWaitMillis(10000);
        config .setTestOnBorrow(true);
        config .setTestOnReturn(true);

        //创建JedisCluster对象(携带密码)，用于对redis集群进行操作
        JedisCluster jedisCluster = new JedisCluster(set, 10000, 10000, 100, "lmy",
                config);
        jedisCluster.set("address", "北京");
        String result = jedisCluster.get("address");
        System.out.println(result);
        jedisCluster.close();
    }
}
